home *** CD-ROM | disk | FTP | other *** search
/ NOVA - For the NeXT Workstation / NOVA - For the NeXT Workstation.iso / Apps / ArchiveUtils / Freeze / thread.h < prev   
Encoding:
C/C++ Source or Header  |  1992-12-20  |  617 b   |  26 lines

  1. /* thread.c */
  2. #include <cthreads.h>
  3. #include <sys/param.h>
  4.  
  5. #define BUFFER_SIZE 100
  6. #define BUFFER_WIDTH MAXPATHLEN
  7.  
  8. typedef struct __buffer {
  9.     struct mutex lock;
  10.     int start,end;
  11.     int count;
  12.     struct condition not_empty, not_full;
  13.     char buf[BUFFER_SIZE][BUFFER_WIDTH];
  14. } buffer_t;
  15.  
  16.  
  17. #ifdef THREAD
  18.        void  buffer_put(char *ch, buffer_t *buffer);
  19.        void  buffer_get(buffer_t *buffer,char *ch);
  20.        void  consumer(buffer_t *buffer);
  21. #else
  22. extern void  buffer_put(char *ch, buffer_t *buffer);
  23. extern void  buffer_get(buffer_t *buffer,char *ch);
  24. extern void  consumer(buffer_t *buffer);
  25. #endif
  26.